﻿using Microsoft.EntityFrameworkCore;
using Prism.Ioc;
using Prism.Mvvm;
using Prism.Unity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using WPFEFCoreTest.Views;
using Zhy.DAL;

namespace WPFEFCoreTest
{
    /// <summary>
    /// 程序启动以及IOC容器注册
    /// 这种方式可以实现在非App状态下打开程序。
    /// </summary>
    public class Startup : PrismBootstrapper
    {
        /// <summary>
        /// 提供主窗口对象的方法
        /// </summary>
        /// <returns></returns>
        protected override DependencyObject CreateShell()
        {
            // 主窗口注册
            return Container.Resolve<MainWindow>();
        }

        /// <summary>
        /// 其它窗口注入的方法
        /// </summary>
        /// <param name="containerRegistry"></param>
        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.Register<ZhyDbContext>().Register<DbContext>();
        }

        /// <summary>
        /// ViewModel 自定义匹配
        /// 处理View与ViewModel之间的关系
        /// 如果默认的view与ViewModel匹配规则不太合适，可以修改。
        /// </summary>
        protected override void ConfigureViewModelLocator()
        {
            base.ConfigureViewModelLocator();

           


        }
    }
}
